<?php

/** 
 * @Author: 李红雨 - RainLee <rainlee1990@yeah.net>
 * @Date: 2022-06-21 14:13:42
 * @LastEditors: 李红雨 - RainLee <rainlee1990@yeah.net>
 * @LastEditTime: 2022-07-01 17:56:06
 * @Description: File Description
 */

namespace rainlee\authn;

interface Authenticatable
{

    /**
     * 获取用户主键名
     *
     * @return mixed
     */
    public function getPk();

    /**
     * 获取用户主键值
     *
     * @return mixed
     */
    public function getAuthIdentifier();

    /**
     * 获取用户密码
     *
     * @return string
     */
    public function getAuthPassword();

    /**
     * 获取Remember Token字段值.
     *
     * @return string
     */
    public function getRememberToken();

    /**
     * 为Remember Token字段赋值
     *
     * @param  string  $value
     * @return void
     */
    public function setRememberToken($value);

    /**
     * 转为数组
     *
     * @return array
     */
    public function toArray();
}
